* @covers ResourceLoader::makeLoaderRegisterScript
*/
public function testGetModuleRegistrations( $case ) {
- if ( isset( $case['sources'] ) ) {
- $this->setMwGlobals( 'wgResourceLoaderSources', $case['sources'] );
- }
-
$extraQuery = $case['extraQuery'] ?? [];
$context = $this->getResourceLoaderContext( $extraQuery );
$rl = $context->getResourceLoader();
+ if ( isset( $case['sources'] ) ) {
+ $rl->addSource( $case['sources'] );
+ }
$rl->register( $case['modules'] );
$module = new ResourceLoaderStartUpModule();
$out = ltrim( $case['out'], "\n" );
] ]
];
}
+
/**
* @covers ResourceLoaderStartUpModule::getModuleRegistrations
* @dataProvider provideRegistrations
$version1 = $module->getVersionHash( $context );
$module = new ResourceLoaderStartupModule();
$version2 = $module->getVersionHash( $context );
+
$this->setMwGlobals( 'wgArticlePath', '/w3' );
$module = new ResourceLoaderStartupModule();
$version3 = $module->getVersionHash( $context );
}
/**
- * @covers ResourceLoaderStartupModule::getAllModuleHashes
- * @covers ResourceLoaderStartupModule::getDefinitionSummary
+ * @covers ResourceLoaderStartupModule
*/
public function testGetVersionHash_varyModule() {
$context1 = $this->getResourceLoaderContext();
$module = new ResourceLoaderStartupModule();
$version3 = $module->getVersionHash( $context3 );
- $this->assertEquals(
+ // Module name *is* significant (T201686)
+ $this->assertNotEquals(
$version1,
$version2,
- 'Module name is insignificant'
+ 'Module name is significant'
);
$this->assertNotEquals(
);
}
+ /**
+ * @covers ResourceLoaderStartupModule
+ */
+ public function testGetVersionHash_varyDeps() {
+ $context = $this->getResourceLoaderContext();
+ $rl = $context->getResourceLoader();
+ $rl->register( [
+ 'test.a' => new ResourceLoaderTestModule( [ 'dependencies' => [ 'x', 'y' ] ] ),
+ ] );
+ $module = new ResourceLoaderStartupModule();
+ $version1 = $module->getVersionHash( $context );
+
+ $context = $this->getResourceLoaderContext();
+ $rl = $context->getResourceLoader();
+ $rl->register( [
+ 'test.a' => new ResourceLoaderTestModule( [ 'dependencies' => [ 'x', 'z' ] ] ),
+ ] );
+ $module = new ResourceLoaderStartupModule();
+ $version2 = $module->getVersionHash( $context );
+
+ // Dependencies *are* significant (T201686)
+ $this->assertNotEquals(
+ $version1,
+ $version2,
+ 'Dependencies are significant'
+ );
+ }
+
}